package com.zxx.pattern.compositePattern.composite2;

/**
 * @author zxx on 2021/5/20
 */
public class TestClient2 {

    //客户端调用代码类似，不再重复。
    // 这里要注意用第二种实现方法实现时，客户端调用时所有的引用类型都可以用接口类型，因为接口中包含了所有要调用的方法。
    public static void main(String[] args) {
        Component2 left1 = new Leaf2();
        Component2 left2 = new Leaf2();
        Component2 composite1 = new Composite2();
        composite1.add(left1);
        composite1.add(left2);

        Component2 left3 = new Leaf2();
        Component2 left4 = new Leaf2();
        Component2 component2 = new Composite2();
        component2.add(composite1);
        component2.add(left3);
        component2.add(left4);

        component2.doSomething();
        left4.doSomething();

    }

}
